// IGalaxyScreenView.cs
//
// Copyright (c) 2009 Mike Strobel
//
// This source code is subject to the terms of the Microsoft Reciprocal License (Ms-RL).
// For details, see <http://www.opensource.org/licenses/ms-rl.html>.
//
// All other rights reserved.

namespace Supremacy.Client.Views
{
    public interface IGameScreenView<TPresentationModel> : IView
    {
        #region Properties and Indexers
        IClientContext ClientContext { get; set; }
        TPresentationModel Model { get; set; }
        #endregion

        #region Public and Protected Methods
        void OnCreated();
        void OnDestroyed();
        #endregion
    }

    public interface IGalaxyScreenView : IGameScreenView<GalaxyScreenPresentationModel> {}

    public interface IColonyScreenView : IGameScreenView<ColonyScreenPresentationModel> {}

    public interface IDiplomacyScreenView : IGameScreenView<DiplomacyScreenPresentationModel> {}

    public interface IScienceScreenView : IGameScreenView<ScienceScreenPresentationModel> {}

    public interface IPersonnelScreenView : IGameScreenView<PersonnelScreenPresentationModel> {}
}